package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class FriendService {

    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFriendDao noFriendDao;

    //1.添加喜欢好友
    public int addFriend(String userId,String friendId){
        //1.查询是否重复添加
        int count=friendDao.selectCount(userId,friendId);
        //2.大于0说明重复了，返回0
        if(count>0){
            return 0;
        }
        //3.定义friend对象并设置参数
        Friend friend = new Friend();
        friend.setFriendid(friendId);
        friend.setUserid(userId);
        friend.setIslike("0");
        //4.添加到数据库
        friendDao.save(friend);
        //5.把friendId当做userid，把userid当做friendId，进行反向查询，是否存在
        int i = friendDao.selectCount(friendId, userId);
        //6.大于0说明存在，则修改双方的islike为1
        if(i>0){
            friendDao.updateIslike(userId,friendId,"1");
            friendDao.updateIslike(friendId,userId,"1");
        }
        //5.返回
        return 1;
    }
    //2.取消关注好友
    public void delete(String id, String friendId) {
        //1.删除好友
        friendDao.deleteFriend(id,friendId);
        //2.修改对方的islike为0
        friendDao.updateIslike(friendId,id,"0");
        //3.向noFriend表添加一条数据
        NoFriend noFriend = new NoFriend(id, friendId);
        noFriendDao.save(noFriend);
    }
}
